export interface formInputProps {
  /**
   * 输入框类型
   */
  type?: string;
  /**
   * 最大输入长度
   */
  maxlength?: number;
  /**
   * 最小输入长度
   */
  minlength?: number;
  /**
   * 输入框占位文本
   */
  placeholder?: string;
  /**
   * 是否可清空
   */
  clearable?: boolean;
  /**
   * 是否禁用
   */
  disabled?: boolean;
  /**
   * 输入框尺寸，只在 type!="textarea" 时有效
   */
  size?: "medium" | "small" | "mini";
  /**
   * 输入框头部图标
   */
  prefixIcon?: string;
  /**
   * 输入框尾部图标
   */
  suffixIcon?: string;
  /**
   * 输入框行数，只对 type="textarea" 有效
   */
  rows?: number;
  /**
   * 自适应内容高度，只对 type="textarea" 有效
   */
  autosize?: boolean | { minRows: number; maxRows: number };
  /**
   * 自动补全
   */
  autocomplete?: string;
  /**
   * 下个主版本弃用
   */
  autoComplete?: string;
  /**
   * 输入框名称
   */
  name?: string;
  /**
   * 是否只读
   */
  readonly?: boolean;
  /**
   * 设置最大值
   */
  max?: number;
  /**
   * 设置最小值
   */
  min?: number;
  /**
   * 设置输入字段的合法数字间隔
   */
  step?: number;
  /**
   * 控制是否能被用户缩放
   */
  resize?: "none" | "both" | "horizontal" | "vertical";
  /**
   * 自动获取焦点
   */
  autofocus?: boolean;
  /**
   * 输入框关联的label文字
   */
  label?: string;
  /**
   * 输入框的tabindex
   */
  tabindex?: string;
  /**
   * 输入时是否触发表单的校验
   */
  validateEvent?: boolean;
}

export interface formInputEvents {
  blur?: (event: Event) => void; //在 Input 失去焦点时触发

  focus?: (event: Event) => void; //在 Input 获得焦点时触发

  change?: (newValue: string | number) => void; //在 Input 值改变时触发

  clear?: () => void; //在点击由 clearable 属性生成的清空按钮时触发
}
